// Generated automatically from org.eclipse.emf.ecore.util.ExtendedMetaData for testing purposes

package org.eclipse.emf.ecore.util;

import java.util.Collection;
import java.util.List;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;

public interface ExtendedMetaData
{
    Collection<EPackage> demandedPackages();
    EAttribute getMixedFeature(EClass p0);
    EClass getDocumentRoot(EPackage p0);
    EClassifier demandType(String p0, String p1);
    EClassifier getType(EPackage p0, String p1);
    EClassifier getType(String p0, String p1);
    EDataType getBaseType(EDataType p0);
    EDataType getItemType(EDataType p0);
    EPackage demandPackage(String p0);
    EPackage getPackage(String p0);
    EReference getXMLNSPrefixMapFeature(EClass p0);
    EReference getXSISchemaLocationMapFeature(EClass p0);
    EStructuralFeature demandFeature(String p0, String p1, boolean p2);
    EStructuralFeature demandFeature(String p0, String p1, boolean p2, boolean p3);
    EStructuralFeature getAffiliation(EClass p0, EStructuralFeature p1);
    EStructuralFeature getAffiliation(EStructuralFeature p0);
    EStructuralFeature getAttribute(EClass p0, String p1, String p2);
    EStructuralFeature getAttribute(String p0, String p1);
    EStructuralFeature getAttributeWildcardAffiliation(EClass p0, String p1, String p2);
    EStructuralFeature getElement(EClass p0, String p1, String p2);
    EStructuralFeature getElement(String p0, String p1);
    EStructuralFeature getElementWildcardAffiliation(EClass p0, String p1, String p2);
    EStructuralFeature getGroup(EStructuralFeature p0);
    EStructuralFeature getSimpleFeature(EClass p0);
    List<EDataType> getMemberTypes(EDataType p0);
    List<EStructuralFeature> getAllAttributes(EClass p0);
    List<EStructuralFeature> getAllElements(EClass p0);
    List<EStructuralFeature> getAttributes(EClass p0);
    List<EStructuralFeature> getElements(EClass p0);
    List<String> getEnumerationFacet(EDataType p0);
    List<String> getPatternFacet(EDataType p0);
    List<String> getWildcards(EStructuralFeature p0);
    String getMaxExclusiveFacet(EDataType p0);
    String getMaxInclusiveFacet(EDataType p0);
    String getMinExclusiveFacet(EDataType p0);
    String getMinInclusiveFacet(EDataType p0);
    String getName(EClassifier p0);
    String getName(EStructuralFeature p0);
    String getNamespace(EClassifier p0);
    String getNamespace(EPackage p0);
    String getNamespace(EStructuralFeature p0);
    boolean isAnonymous(EClassifier p0);
    boolean isDocumentRoot(EClass p0);
    boolean isQualified(EPackage p0);
    boolean matches(List<String> p0, String p1);
    boolean matches(String p0, String p1);
    int getContentKind(EClass p0);
    int getDerivationKind(EDataType p0);
    int getFeatureKind(EStructuralFeature p0);
    int getFractionDigitsFacet(EDataType p0);
    int getLengthFacet(EDataType p0);
    int getMaxLengthFacet(EDataType p0);
    int getMinLengthFacet(EDataType p0);
    int getProcessingKind(EStructuralFeature p0);
    int getTotalDigitsFacet(EDataType p0);
    int getWhiteSpaceFacet(EDataType p0);
    static ExtendedMetaData INSTANCE = null;
    static String ANNOTATION_URI = null;
    static String XMI_URI = null;
    static String XMLNS_PREFIX = null;
    static String XMLNS_URI = null;
    static String XML_SCHEMA_URI = null;
    static String XML_URI = null;
    static String XSI_PREFIX = null;
    static String XSI_URI = null;
    static String[] CONTENT_KINDS = null;
    static String[] DERIVATION_KINDS = null;
    static String[] FEATURE_KINDS = null;
    static String[] PROCESSING_KINDS = null;
    static String[] WHITE_SPACE_KINDS = null;
    static int ATTRIBUTE_FEATURE = 0;
    static int ATTRIBUTE_WILDCARD_FEATURE = 0;
    static int COLLAPSE_WHITE_SPACE = 0;
    static int ELEMENT_FEATURE = 0;
    static int ELEMENT_ONLY_CONTENT = 0;
    static int ELEMENT_WILDCARD_FEATURE = 0;
    static int EMPTY_CONTENT = 0;
    static int GROUP_FEATURE = 0;
    static int LAX_PROCESSING = 0;
    static int LIST_DERIVATION = 0;
    static int MIXED_CONTENT = 0;
    static int PRESERVE_WHITE_SPACE = 0;
    static int REPLACE_WHITE_SPACE = 0;
    static int RESTRICTION_DERIVATION = 0;
    static int SIMPLE_CONTENT = 0;
    static int SIMPLE_FEATURE = 0;
    static int SKIP_PROCESSING = 0;
    static int STRICT_PROCESSING = 0;
    static int UNION_DERIVATION = 0;
    static int UNSPECIFIED_CONTENT = 0;
    static int UNSPECIFIED_DERIVATION = 0;
    static int UNSPECIFIED_FEATURE = 0;
    static int UNSPECIFIED_PROCESSING = 0;
    static int UNSPECIFIED_WHITE_SPACE = 0;
    void putPackage(String p0, EPackage p1);
    void setAffiliation(EStructuralFeature p0, EStructuralFeature p1);
    void setBaseType(EDataType p0, EDataType p1);
    void setContentKind(EClass p0, int p1);
    void setDocumentRoot(EClass p0);
    void setEnumerationFacet(EDataType p0, List<String> p1);
    void setFeatureKind(EStructuralFeature p0, int p1);
    void setFractionDigitsFacet(EDataType p0, int p1);
    void setGroup(EStructuralFeature p0, EStructuralFeature p1);
    void setItemType(EDataType p0, EDataType p1);
    void setLengthFacet(EDataType p0, int p1);
    void setMaxExclusiveFacet(EDataType p0, String p1);
    void setMaxInclusiveFacet(EDataType p0, String p1);
    void setMaxLengthFacet(EDataType p0, int p1);
    void setMemberTypes(EDataType p0, List<EDataType> p1);
    void setMinExclusiveFacet(EDataType p0, String p1);
    void setMinInclusiveFacet(EDataType p0, String p1);
    void setMinLengthFacet(EDataType p0, int p1);
    void setName(EClassifier p0, String p1);
    void setName(EStructuralFeature p0, String p1);
    void setNamespace(EStructuralFeature p0, String p1);
    void setPatternFacet(EDataType p0, List<String> p1);
    void setProcessingKind(EStructuralFeature p0, int p1);
    void setQualified(EPackage p0, boolean p1);
    void setTotalDigitsFacet(EDataType p0, int p1);
    void setWhiteSpaceFacet(EDataType p0, int p1);
    void setWildcards(EStructuralFeature p0, List<String> p1);
}
